package com.itheima.d3_transform_stream;


import java.io.*;

/**
 * 目标：掌握字符输入转换流的作用。
 *
 * 重点：如何构建InputStreamReader对象
 * public InputStreamReader(字节流输入流,字符集)
 *
 * read方法的使用和FileReader是一样的
 *
 * 字符转换输入流，也可以进一步包装成高效流使用
 */
public class Test2InputStreamReader {
    public static void main(String[] args) {
        //1、创建字符输入转换流
        try (FileInputStream fis = new FileInputStream("day10io-app2/file/gbkfile.txt");
             InputStreamReader isr = new InputStreamReader(fis,"GBK"); //指定GBK进行解码
             InputStreamReader isr2 = new InputStreamReader(fis); //使用平台默认的编码（UTF-8）
             //转换流还可以进一步包装成字符缓冲流，以方便读写操作
             BufferedReader br = new BufferedReader(isr);
        ) {

            /*//用法和FileReader一样
            int c; //用来临时保存每次读取的字符
            while ((c = isr2.read()) != -1) {
                System.out.println((char)c);
            }*/

            //转换为字符缓冲输入流后的读行操作
            String line = br.readLine();
            System.out.println("line = " + line);

        }catch (IOException e) {
            e.printStackTrace();
        }

    }
}
